package model

// UserService 用户服务接口
type UserService interface {
	// 基础CRUD
	Create(user *User) error
	GetByID(id uint) (*User, error)
	GetByUsername(username string) (*User, error)
	Update(user *User) error
	Delete(id uint) error
	List(page, pageSize int, query map[string]interface{}) ([]*User, int64, error)

	// 业务方法
	VerifyPassword(username, password string) (*User, error)
	UpdatePassword(id uint, oldPassword, newPassword string) error
	ResetPassword(id uint, newPassword string) error
}
